package ${file.pkg_this};

import java.io.InputStream;
import java.util.List;

import com.specter.mvc.model.Page;
import com.specter.mvc.model.Request;

import org.springframework.web.servlet.ModelAndView;

import ${file.pkg_base}.entity.${bean.entityName};

/**
 * ${meta.remark!''} ${bean.tableRemark!''} 服务类
 *
 * @author ${meta.author!''}
 * @since ${.now?string("yyyy-MM-dd")}
 * @version 1.0
 */
public interface ${file.file_name} {

	/**
	 * 按主键Id获取对象信息
	 * 
	 * @param id 主键Id
	 * @return 实体对象信息
	 */
	public ${bean.entityName} get(String id);

	/**
	 * 按照条件进行分页查询
	 * 
	 * @param request 分页查询条件
	 * @return 查询的分页结果
	 */
	public Page<?> page(Request request);

	/**
	 * 保存/更新对象，entity的Id为空则新增/非空则更新
	 * 
	 * @param entity 实体内容信息
	 * @return 更新后的实体信息
	 */
	public ${bean.entityName} save(${bean.entityName} entity);

	/**
	 * 按主键Id删除实体
	 * 
	 * @param id 主键Id
	 */
	public void delete(String id);

	/**
	 * 导入数据
	 * 
	 * @param is 上传的文件流
	 * @return 导入成功的数据列表
	 */
	public List<?> imp(InputStream is);

	/**
	 * 按照条件导出数据
	 * 
	 * @param request 查询条件
	 * @return 导出对象
	 */
	public ModelAndView exp(Request request);

}
